Rework Interface to actually work