did some project restructuring
added update functionality