added functionality and design
extensive changes and added functionality