added diagram and specifications