first version with similar features as lightpack api