added GUI support