Added @Override tags where appropriate for clarity