Refactoring for simplification + supporting overloaded methods