tac implementation with read