How should I implement the press method so that it's behaviour remains the same?