refactored to use a sign factory with linked pool