everything works, need to optimize isonBoard