add new boilerplate idea, end with validate