complexity increasing...should probably test this soon