initial commit to cross checking logic
add weight option
finish cross check logic
refactor to put check pending logic in a separate method