some modifications and beautifications