fix old bugs and create new =)