Split into extract/create functions