made into framework instead of static library