lotsa functionality added