Updated after proper code base structure.