methods now being defined dynamically