more function
more beautiful
resolved