adding basic interfaces and objects