added validate and timer modules -- code is unstable.