added separate file with projection function