initial commit with environment variables expansion support