this will be another pure functional program language