refactor cabinet, add extended fields