Other parts of the implementation