added with all three functions