work on adding negative weights