Split into files and seperated build for appengine/non-appengine