Implements interface