cleaning up master branch with added functionality