learning dynamic methods