added layers + code clean