extract and improve