added support for redefining and overloading methods (closes #12)