Lots of changes, please ignore used code for now!