some codes just for fun