Work on subroutin and variables declarations

need to finish subroutins + make sure able to rollback when no
parameters are specified for function (GetParameterList)