updated functionality
changes galore