added support for automated programming
added draft implementation of functional clock