appstructure.create_with_func