Object protocol re-implemented