finite state programming concepts 2955631