a litte modifed with some elements