first pass at require chain