Added initial monadic version of the GA