added readme and code documentation