While not finished I added a @SuppressWarnings