array implementation
start of table implementation