custom framework like angular JS