Better to work with interfaces