Need a few improvements