added implementation for human interaction through GUI