Implement Hamlet