Improved and completed