fix linker multiple definition error