implemented some stuff
Not complete