implemented procedures