finish crude ans parse implementation