kinda works.. still some erros