extern somewhat working but needs test