switched to multi method and added tests