added totally rewritten linear rendering object