Updated prototype for re-usability.