I think this should still be cleaned up :-)