extended read me and added diagram