Initial commit. Code written in java style
Further iterations will transform to a more functional style