adding background model
adding tons of documentation