added some @param on functions