complete solution for ios