refactor sign