add & fix codes