framework for af-input