with applications