r4695 draft RackCode classes based on existing implementation