Generisized this project for kata work.