refactored procs for empty