improved core functionality + extra