some sutff I think
fixed merge