add an interface system in case i use it later