use interface instead of abstract class, refactor gui argument fields
change gui title