in progress
added tests