this could probably be cleaned up