add background processing foundation