still needs gui but uses hacck to prevent failure == not good