Compile time safety

Compile time safety