new file structure, change how null is handled, add jasmine tests