complete board functions