First round of tooling

@saeedSarpas 
Please review the changes and give me your opinion.