improvement suggestions from stoyvo