some optims
physic implemented but bugged