FIX: everything....... almost
fixes implemented