some work pre solution follow feature spec