physic implemented but verry ugly and unoptimized