refactored, error handeling
refactored, error handling, search not  finished, oop3