learn how to define methods in runtime
fixed bugs