refactored bootcamper api to generic structure