implemented missing contract classes