added retrieve method