diff --git a/planet/constants.h b/planet/constants.h
index 78eda772952ec3ebbbf07c74e46d197ae3769d9f..0416ea4a15be9f36e73cf9a525d1c704c755eb04 100644
--- a/planet/constants.h
+++ b/planet/constants.h
@@ -3,35 +3,61 @@
 
 
 // display
-#define DISPLAY_RADIUS_DIV 1.0e23
+#define DISPLAY_PLANET_RADIUS_DIV 1.0e23
+#define DISPLAY_MAX_ORBIT_RADIUS
 
 
+// logic
+#define PLANET_COUNT 4
+
+
+// physical constants
 #define G 6.67e-11
 #define M_SOLEIL 1.989e30
 
 // mass
-#define M_TERRE     5.9742e24
 #define M_MERCURE   3.3011e23
 #define M_VENUS     4.8675e24
+#define M_TERRE     5.9742e24
 #define M_MARS      6.4171e23
+#define M_JUPITER   1.8982e27
+#define M_SATURN    5.6834e26
+#define M_URANUS    8.6810e25
+#define M_NEPTUNE   1.02413e26
+#define M_PLUTO     1.303e22
 
 // major axis
 #define A_MERCURE   5.7909e10
 #define A_VENUS     1.0821e11
 #define A_TERRE     1.4960e11
 #define A_MARS      2.2794e11
+#define A_JUPITER   7.7857e11
+#define A_SATURN    1.43353e12
+#define A_URANUS    2.870972e12
+#define A_NEPTUNE   4.50e12
+#define A_PLUTO     5.90638e12
 
 // excentricity
 #define E_MERCURE   0.205630
 #define E_VENUS     0.006772
 #define E_TERRE     0.0167086
 #define E_MARS      0.0934
+#define E_JUPITER
+#define E_SATURN
+#define E_URANUS
+#define E_NEPTUNE
+#define E_PLUTO
 
 // perihelion
 #define PER_MERCURE 4.60012e10
 #define PER_VENUS   1.07477e11
 #define PER_TERRE   1.47095e11
 #define PER_MARS    2.06700e11
+#define PER_JUPITER 7.40520e11
+#define PER_SATURN  1.35255e12
+#define PER_URANUS  2.73556e12
+#define PER_NEPTUNE 4.46e12
+#define PER_PLUTO   4.43682e12
 
 
 #endif //PLANET_CONSTANTS_H
diff --git a/planet/planet.c b/planet/planet.c
index 371fa869ef3ee5a4d547f14d375f0556efa50055..e1f3b946f27d83bb7269aa5db812cb16c9f77870 100755
--- a/planet/planet.c
+++ b/planet/planet.c
@@ -55,7 +55,7 @@ system_t create_system(double delta_t) {
 }
 
 
-void show_system(struct gfx_context_t* ctxt, system_t* system) {
+void show_system(struct gfx_context_t* ctxt, system_t* system, const double show_radius) {
 	// draw sun
 	const coordinates xy_sun = vec2_to_coordinates_centered(
 			vec2_normalize(system->star.pos),
@@ -65,7 +65,7 @@ void show_system(struct gfx_context_t* ctxt, system_t* system) {
 	// draw planets
 	for (uint32_t i = 0; i < system->nb_planets; ++i) {
 		const coordinates xy = vec2_to_coordinates_centered(
-				vec2_mul(vec2_norm(system->planets[i].pos) / (PER_MARS * 1.25), vec2_normalize(system->planets[i].pos)),
+				vec2_mul(vec2_norm(system->planets[i].pos) / show_radius, vec2_normalize(system->planets[i].pos)),
 				ctxt->width,
 				ctxt->height);
 		draw_full_circle(ctxt, xy.column, xy.row, 20, COLOR_BLUE);
diff --git a/planet/planet.h b/planet/planet.h
index 4995e1ededb667ab5ecddd648409fd7261434b30..a946cfef01f7940fdefb32674196857a3d08e08f 100755
--- a/planet/planet.h
+++ b/planet/planet.h
@@ -16,13 +16,12 @@ typedef struct _system {
 	planet_t* planets;   // An array of orbiting planets
 } system_t;
 
-// These functions are not mandatory to implement,
-// it's rather a hint of what you should have.
 planet_t create_planet(double mass, vec2 pos);
 
 system_t create_system(double delta_t);
 
-void show_system(struct gfx_context_t* ctxt, system_t* system);
+//void show_system(struct gfx_context_t* ctxt, system_t* system);
+void show_system(struct gfx_context_t* ctxt, system_t* system, const double show_radius);
 
 void update_system(system_t* system, double delta_t);