use designated initializers for lookup table