Added implementations of interfaces