still bugged but better