see parse method. added key functionality