switched license from GPLv3 to Apache 2.0; removed unnecessary type extension (may put it back later)