Not perfect but it is ok