moved component definition builders to a single file and restored index.js