break out the APIs into two lessons
many many tweaks and renames