Changed methods for better abstraction