parameterize. clean up.