Refactored find_one so it can take third optional parameter as Limit, form limitation of database query
Refactored other methods to match new structure