created input init/destroy functions