expansion, abstracted input