v3.0 created a sepparate testing file + code refactoring + added the service time parameter