almost workinggggg