now it's a multiple definition problem