added tests, not completely tested
minor edit
Added more tests