first draft - appkernel