begin adding interfaces API

and make settings a bit nicer