code is still shit