continuation of unhardcoding