reconfigured the interface and added missing things
not finished yet