I may add more but it fulfills all requirements