More clean + documentations.