Added tests and removed precompiler conditionals