better performance but still not good