adding functionality, bug fixes