second commit. more functionality added