Making complete interface. (in progress)