Adding define_methods for abstraction.