some additional parts added