reduce program memory cost and fit for atmega328