added pure js models