added classes, fibonacci and functional purity tests, to include a poker model