added overload rule handling
code formatted