trying to be everything, generally leads to failure, and the ability to do nothing. Select the three of these functions that are the most practical and build it. Work all the bugs out, and take it from there. Add one extra function at a time, and debug before adding anything else. And always...