solved but not ideal