Too many repeats.. Should be refactored..