began isolating what will probably be common functions