added tests and utils