updated + more bugs