fix #1585 fix #1587 close #1542 close #1537 close #1536 close #1526 close #1529 Signed-off-by: anasty17 <e.anastayyar@gmail.com>