update core files
add QUnit for testing