CS509 work