heavy restructure
service handle generation