Enhancements 1 2 and 3 done