separated projectional stuff into a special package