Getting ready for compiler support. Better code design