implement input access