clean code. finish RC1 version