CS 279 final project