updated basics added tests